/*
package com.adingxiong.pm.config;




import org.springframework.amqp.core.Binding;
import org.springframework.amqp.core.BindingBuilder;
import org.springframework.amqp.core.FanoutExchange;
import org.springframework.amqp.core.Queue;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

*/
/*@Configuration*//*

public class FanoutRabbitConfig {


    */
/**
     * @author xiongchao
     * @date 2020年3月2日14:12:17
     *
     * Broker 它提供一种传输服务，它的角色就是维护一条生产者到消费者的路线 保证数据按照指定的方式传输
     * Exchange 消息交换机 他指定消息按照指定规则 和路由到相应的队列
     * Queue 消息的载体 每个消息都会投到一个或者多个消息队列
     * Binding 绑定  它的作用就是吧exchange和 queue按照路由规则绑定起来
     * RoutingKye 路由关键字  exchange根据这个关键字信息消息投递
     * vhost 虚拟主机 一个broker里面可以有多个vhost 用作不同用户的权限分离
     * produce  消息生产者
     * consumer 消息的消费者 就是接受消息的程序
     * channel 消息通道  在客户端的每个连接里面 可以创建多个channel
     *
     *
     *//*


    @Bean
    public Queue aMessage (){
        return new Queue("q_fanout_a");
    }

    @Bean
    public Queue bMessage (){
        return new Queue("q_fanout_b");
    }

    @Bean
    public Queue cMessage (){
        return new Queue("q_fanout_c");
    }

    */
/**
     * 声明一个Fanout类型的交换机
     *
     *  针对消费者的配置
     *      1. 设置交换机类型
     *      2. 讲队列绑定到交换机
     *
     *      FanoutExchange 讲消息分发到所以的绑定队列 无routingkey 的概念
     *      DirectExchange 按照routingkey的规则进行路由分发
     *      TopicExchang 多关键字匹配
     *
     * @return
     *//*

    @Bean
    FanoutExchange fanoutExchange(){
        return new FanoutExchange("fanoutExchange");
    }


    */
/***
     *   分表对三个队列绑定到交换机上
     * @param aMessage
     * @param fanoutExchange
     * @return
     *//*

    @Bean
    Binding bindingExchangeA ( Queue aMessage, FanoutExchange fanoutExchange){
        return BindingBuilder.bind(aMessage).to(fanoutExchange);
    }

    @Bean
    Binding bindingExchangeB ( Queue bMessage, FanoutExchange fanoutExchange){
        return BindingBuilder.bind(bMessage).to(fanoutExchange);
    }

    @Bean
    Binding bindingExchangeC ( Queue cMessage, FanoutExchange fanoutExchange){
        return BindingBuilder.bind(cMessage).to(fanoutExchange);
    }
}
*/
